ia64, linux: Import linux git changeset 5ee7737379b1d7f0c977c0f1661fbaf01a8d4721
authorKeir Fraser <keir@xensource.com>
Mon, 7 May 2007 12:58:42 +0000 (13:58 +0100)
committerKeir Fraser <keir@xensource.com>
Mon, 7 May 2007 12:58:42 +0000 (13:58 +0100)
Without this, IA64 vcpu hot plug/remove or domain save/restore cause
kernel panic.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
patches/linux-2.6.18/git-5ee7737379b1d7f0c977c0f1661fbaf01a8d4721.patch [new file with mode: 0644]
patches/linux-2.6.18/series

diff --git a/patches/linux-2.6.18/git-5ee7737379b1d7f0c977c0f1661fbaf01a8d4721.patch b/patches/linux-2.6.18/git-5ee7737379b1d7f0c977c0f1661fbaf01a8d4721.patch
new file mode 100644 (file)
index 0000000..4d5169a
--- /dev/null
@@ -0,0 +1,28 @@
+--- ./arch/ia64/kernel/smp.c.orig      2007-05-02 19:00:01.000000000 +0900
++++ ./arch/ia64/kernel/smp.c   2007-05-02 19:04:32.000000000 +0900
+@@ -328,10 +328,14 @@ int
+ smp_call_function (void (*func) (void *info), void *info, int nonatomic, int wait)
+ {
+       struct call_data_struct data;
+-      int cpus = num_online_cpus()-1;
++      int cpus;
+-      if (!cpus)
++      spin_lock(&call_lock);
++      cpus = num_online_cpus()-1;
++      if (!cpus) {
++              spin_unlock(&call_lock);
+               return 0;
++      }
+       /* Can deadlock when called with interrupts disabled */
+       WARN_ON(irqs_disabled());
+@@ -343,8 +347,6 @@ smp_call_function (void (*func) (void *i
+       if (wait)
+               atomic_set(&data.finished, 0);
+-      spin_lock(&call_lock);
+-
+       call_data = &data;
+       mb();   /* ensure store to call_data precedes setting of IPI_CALL_FUNC */
+       send_IPI_allbutself(IPI_CALL_FUNC);
index a3597cd5a0028c670864aa9beb0af3895ae2d833..1362cfca48eb208189132fea23361924a401cf8a 100644 (file)
@@ -21,3 +21,4 @@ git-c06cb8b1c4d25e5b4d7a2d7c2462619de1e0dbc4.patch
 softlockup-no-idle-hz.patch
 allow-i386-crash-kernels-to-handle-x86_64-dumps.patch
 allow-i386-crash-kernels-to-handle-x86_64-dumps-fix.patch
+git-5ee7737379b1d7f0c977c0f1661fbaf01a8d4721.patch